package cn.b.sky.admin.dao;

import cn.b.sky.admin.model.ECodeType;
import cn.b.sky.admin.model.condition.ECodeTypeCondition;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 
 * <strong>Title : AdminECodeTypeDao.java<br></strong>
 * <strong>Package : cn.b.sky.admin.dao<br></strong>
 * <strong>Description : </strong>枚举码类型信息操作Dao接口<br> 
 * <strong>Create on : 2016-6-8 上午09:54:05<br></strong>
 * <p>
 * @author JunLin.Yang<br>
 * @version <strong>v1.0.0</strong><br>
 * <br>
 * <strong>修改历史:</strong><br>
 * 修改人|修改日期|修改描述<br>
 * -------------------------------------------<br>
 * <br>
 * <br>
 */
public interface AdminECodeTypeDao {

	/**
	 * 
	 * <strong>Title : selectECodeTypesByCondition<br></strong>
	 * <strong>Description : </strong>根据查询条件查询枚举码类型集合<br> 
	 * <strong>Create on : 2016-6-8 上午09:54:05<br></strong>
	 * <p>
	 * @param condition 枚举码类型查询条件
	 * @return 
	 * List<ECodeType> 枚举码类型集合
	 * @throws 
	 * @author JunLin.Yang<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	public List<ECodeType> selectECodeTypesByCondition(ECodeTypeCondition condition);

	/**
	 * 
	 * <strong>Title : getECodeTypeByPK<br></strong>
	 * <strong>Description : </strong>根据主键查询枚举码类型对象<br> 
	 * <strong>Create on : 2016-6-8 上午09:54:05<br></strong>
	 * <p>
	 @Param("ECodeType")String ECodeType
	 * @param ECodeType 枚举码类型
	 * @return
	 * ECodeType 枚举码类型对象
	 * @throws 
	 * @author JunLin.Yang<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	public ECodeType getECodeTypeByPK(@Param("eCodeType") String eCodeType);
  

	/**
	 * 
	 * <strong>Title : getECodeTypesCountByCondition<br></strong>
	 * <strong>Description : </strong>根据查询条件查询相应的记录数<br> 
	 * <strong>Create on : 2016-6-8 上午09:54:05<br></strong>
	 * <p>
	 * @param condition 枚举码类型查询条件
	 * @return
	 * long 数据记录数
	 * @throws 
	 * @author JunLin.Yang<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
  	public long getECodeTypesCountByCondition(ECodeTypeCondition condition);
  	
  	/**
  	 * 
  	 * <strong>Title : insertECodeType<br></strong>
  	 * <strong>Description : </strong>新增枚举码类型数据<br> 
  	 * <strong>Create on : 2016-6-8 上午09:54:05<br></strong>
  	 * <p>
  	 * @param data 枚举码类型
  	 * @throws 
  	 * @author JunLin.Yang<br>
  	 * @version <strong>v1.0.0</strong><br>
  	 * <br>
  	 * <strong>修改历史:</strong><br>
  	 * 修改人 | 修改日期 | 修改描述<br>
  	 * -------------------------------------------<br>
  	 * <br>
  	 * <br>
  	 */
  	public void insertECodeType(ECodeType data);
  	
  	/**
  	 * 
  	 * <strong>Title : updateECodeType<br></strong>
  	 * <strong>Description : </strong>更新枚举码类型数据<br> 
  	 * <strong>Create on : 2016-6-8 上午09:54:05<br></strong>
  	 * <p>
  	 * @param data 枚举码类型
  	 * int 更新的记录数
  	 * @throws 
  	 * @author JunLin.Yang<br>
  	 * @version <strong>v1.0.0</strong><br>
  	 * <br>
  	 * <strong>修改历史:</strong><br>
  	 * 修改人 | 修改日期 | 修改描述<br>
  	 * -------------------------------------------<br>
  	 * <br>
  	 * <br>
  	 */
  	public int updateECodeType(ECodeType data);
  	
  	/**
  	 * 
  	 * <strong>Title : deleteECodeType<br></strong>
  	 * <strong>Description : </strong>删除枚举码类型数据<br> 
  	 * <strong>Create on : 2016-6-8 上午09:54:05<br></strong>
  	 * <p>
  	 * @param eCodeType 枚举码类型
  	 * int 删除的记录数
  	 * @throws 
  	 * @author JunLin.Yang<br>
  	 * @version <strong>v1.0.0</strong><br>
  	 * <br>
  	 * <strong>修改历史:</strong><br>
  	 * 修改人 | 修改日期 | 修改描述<br>
  	 * -------------------------------------------<br>
  	 * <br>
  	 * <br>
  	 */
  	public int deleteECodeType(String eCodeType);
	
}
